home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* VfW 1.1 Runtime Setup
- '**************************************************************************
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'mscpydis.inc' ''System
- '$INCLUDE 'msdetect.inc' ''Detects Avalilable Disk Space
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST APPHELP = 900
- CONST CHECK = 2500
- 'CONST SMALLWIN = 2200
- CONST SMALLWIN = 6300
- CONST RESTART = 2600
- CONST RESTARTII = 2700
-
- ''Bitmap ID
- CONST LOGO = 1
-
- GLOBAL SizeReq& '' Total Disk Size required for installation
-
- ''File Types
- GLOBAL WinDir$
- GLOBAL WinSysDir$
- GLOBAL WINDRIVE$ ''Windows Drive Letter.
- GLOBAL CHECKSTATES$
-
- DECLARE SUB Install
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
- DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
- DECLARE FUNCTION IsValidEnvironment LIB "mscuistf.dll" () As INTEGER
- DECLARE SUB Reboot LIB "iniupd.dll"
- DECLARE fUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER
-
- Declare Sub CheckHardware
- Declare function WritePrivateProfileString LIB "kernel" (lpszSection$,lpszEntry$,lpszString$,lpszFilename$) As Integer
- Declare function GetPrivateProfileString LIB "kernel" (lpszSection$, lpszEntry$, lpszDefault$, lpszReturnBuffer$, cbReturnBuffer%, lpszFilename$) As Integer
- Declare Function GetKeyboardType LIB "keyboard" (Keystute%) as integer
-
- INIT:
-
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- WIN32ENABLED% = 0
- MajorVer% = GetWindowsMajorVersion()
- MinorVer% = GetWindowsMinorVersion()
-
- IsJP%=IsValidEnvironment()
- IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
- IF IsJP% THEN
- GOTO JPEXIT
- ELSE
- GOTO ENGEXIT
- ENDIF
- ELSEIF IsJP% = 0 THEN
- GOTO ENGEXIT
- END IF
-
- IF OnWindowsNT() THEN
- i% = DoMsgBox("é▒é╠âoü[âWâçâôé╠ Video for Windows é═ Windows NT Åπé┼Ä└ìsé╖éΘÄûé═Åoùêé▄é╣é±üB", "âCâôâXâgü[âïÅπé╠Æìê╙", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
- END IF
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Video for Windows 1.1 Runtime"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
- END IF
- ReadInfFile szInf$
-
- WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
-
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
- ''Prepare Copy list and check size
-
- ClearCopyList
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- WinDir$ = GetWindowsDir()
- DEST$ = GetWindowsDir()
- WinSysDir$ = GetWindowsSysDir()
-
- '' Runtime files (on Windows disk)
-
- AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
- AddSectionFilesToCopyList "OLE2", SrcDir$, WinSysDir$
- AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
- AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
- AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
- '' AddSectionFilesToCopyList "Indeo-ini", SrcDir$, WinDir$ deleted indeo.ini 94/07/06
-
- '' Check windrive diskspace
- SizeReq& = GetCopyListCost ("","", "")
- IF SizeReq& <> 0 THEN
- GOSUB SMALLWIN
- END
- END IF
-
- Install
-
- '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
- '' else, it gives the user the choice
- RESTRT% = RestartListEmpty ()
- Exe$ = DEST$ + "\_msrstrt.exe"
- Batch$ = DEST$ + "\_mssetup.bat"
- empty$ = ""
- RESTART:
- IF RESTRT% = 0 THEN
- sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO RESTART
- ENDIF
- I% = ExitExecRestart ()
- RemoveFile Exe$, cmoForce
- RemoveFile Batch$, cmoForce
- END
- ELSE
- sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
- IF sz$ = "CONTINUE" THEN
- I% = ExitWindowsExec (Exe$, empty$)
- IF I% = 0 THEN
- GOTO RESTART
- ELSE
- END
- ENDIF
- ELSEIF sz$ = "EXIT" THEN
- UIPopAll
- END
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO RESTART
- ELSE
- UIPop 1
- END IF
- END IF
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
- END
-
- ERRQUIT:
- i% = DoMsgBox("âZâbâgâAâbâvâfâBâXâNé╠âtâ@âCâïé¬ë≤éΩé─éóé▄é╖üBâTâ|ü[âgâZâôâ^ü[é▄é┼é▓ÿAùìë║é│éóüB", "âZâbâgâAâbâvÄ₧é╔ûΓæΦö¡É╢", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- '' ERROR STFQUIT
- END
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
- SMALLWIN:
- sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO SMALLWIN
- END IF
- UIPop 1
- RETURN
-
- JPEXIT:
- i% = DoMsgBox("é▒é╠â\âtâgâEâFâAé╔é═üAMicrosoft Windows âoü[âWâçâô 3.1 ê╚ì~é¬òKùvé┼é╖üB Windows é╠âoü[âWâçâôâAâbâvé≡ìsé┴é─é¡é╛é│éóüB", "âCâôâXâgü[âïÅπé╠Æìê╙", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
- ENGEXIT:
- msg1$="Japanese version of Microsoft Windows version 3.1 or grater is required for this software. "
- msg2$="Please upgrade your version of Windows."
- i% = DoMsgBox( msg1$+msg2$ ,"Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
- '**
- '** Purpose:
- '** Performs all installation operations.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB Install STATIC
-
- SetRestartDir WinDir$
- CopyFilesInCopyList
-
- '' Copy ir32.dll to ir30.dll
- CopyFile MakePath(WinSysDir$, "ir32.dll"), MakePath(WinSysDir$, "ir30.dll"), cmdOverwrite, 0
-
- ''Updating WIN.INI and SYSTEM.INI
- IF VflatdPresent() = 0 THEN
- CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
- END IF
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "ir32.dll", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "ir21.dll", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "iyvu9.dll", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
- CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
- CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
- CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
- CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
- Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
- Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
- Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
-
- '' Mplayer
- CreateProgmanItem "âAâNâZâTâè", "âüâfâBâA âvâîü[âäü[", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
-
- CHECKFONT:
- DummyBuf$=STRING$(30," ")
- Res%=GetProfileString("fonts","élér âSâVâbâN (TrueType)","",DummyBuf$,30)
- If(Len(DummyBuf$)=0)Then
- CRLF$=Chr$(13)
- Title1$="Video for WindowsÄgùpÅπé╠Æìê╙"
- Msg1$="Video for Windowsé╠âvâìâOâëâÇé═üAélér âSâVâbâNâtâHâôâgé≡Ägùpé╡é▄é╖üB"
- Msg2$="é▒é╠âVâXâeâÇé╔é═üAélér âSâVâbâNâtâHâôâgé¬ægé▌ì₧é▄éΩé─éóé╚éóé╠é┼üAâvâìâOâëâÇé╠ò\Īé¬ùÉéΩéΘë┬ö\ɽé¬éáéΦé▄é╖üB"
- Msg3$="É│é╡éóô«ì∞é≡é│é╣éΘé╜é▀é╔é═üA[âRâôâgâìü[âïâpâlâï]é╠[âtâHâôâg]é⌐éτélér âSâVâbâNâtâHâôâgé≡ægé▌ì₧é±é┼é¡é╛é│éóüB"
- i% = DoMsgBox(Msg1$+CRLF$+Msg2$+CRLF$+Msg3$, Title1$, MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION)
- End if
-
- CheckHardware
-
- Run ("profdisp.exe")
- END SUB
-
- '**
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-
-
- '**
- '**
- '*************************************************************************
- Sub CheckHardware STATIC
- MAX_NODVADISP% = 4
- Dim NoDVADrivers(4) As String
- NoDVADrivers(0) = "VGA488T.drv" ' Compaq Prolinea ET4000/W32 Driver
- NoDVADrivers(1) = "VGA488.drv" ' Compaq Prolinea ET4000 Driver
- NoDVADrivers(2) = "VGA4A8T.drv" ' Compaq Prolinea ET4000/W32 Driver
- NoDVADrivers(3) = "VGA4A8.drv" ' Compaq Prolinea ET4000 Driver
-
- keySubType% = GetKeyboardType(1)
- If(keySubType%>=3329 and keySubType%<=3332)Then
- '==== HardWare is NEC PC98 Series
- res% = WritePrivateProfileString("drawdib","dva","0","win.ini")
- elseIf(keySubType%>=0 and keySubType%<=4)Then
- '==== Hardware is DOSV Machine
- res% = WritePrivateProfileString("drawdib","dva","1","win.ini")
- elseif(keySubType%=1281)then
- '==== Hardware is FUJITSU FM-TOWNS Only
- res% = WritePrivateProfileString("drawdib","dva","0","win.ini")
- else
- res% = WritePrivateProfileString("drawdib","dva","0","win.ini")
- end if
-
- NowDispDrvName$ = STRING$(15," ")
- res% = GetPrivateProfileString("boot","display.drv","",NowDispDrvName$,15,"system.ini")
- CntNum% = 0
- While (CntNum% < MAX_NODVADISP%)
- If(Ucase$(NowDispDrvName$)=Ucase$(NoDVADrivers(CntNum%)))Then
- res% = WritePrivateProfileString("drawdib","dva","0","win.ini")
- End If
- CntNum% = CntNum% + 1
- Wend
-
-
- End Sub